const glob = require("glob");
const fs = require("fs");
const path = require("path");
const resolve = (dir) => {
  return path.join(__dirname, dir);
};
// module.exports = {
//   pages: htmls,
//   publicPath: "./", //  解决打包之后静态文件路径404的问题
//   outputDir: "output", //  打包后的文件夹名称，默认dist
//   devServer: {
//     open: true, //  npm run serve 自动打开浏览器
//     index: "/page1.html", //  默认启动页面
//   },
// };
function getEntry(configs = {}) {
  let entries = {};
  glob.sync("./src/pages/**/main.js").forEach(function (entry) {
    let name = entry.split("/").splice(-3)[1];
    let html = entry.replace("main.js", "index.html");
    entries[name] = {
      entry,
      // title: require(resolve(entry.replace("./src", "../")))?.title,
      template: fs.existsSync(html) ? html : "./src/template/index.html", //  当前目录没有有html则以共用的public/index.html作为模板
      filename: name + ".html", //  以文件夹名称.html作为访问地址
      chunks: ["chunk-vendors", "chunk-common", name],
      inject: true,
    };
    if (configs) {
      entries[name] = Object.assign(entries[name], configs);
    }

    if (process.env.NODE_ENV === "production") {
      entries[name] = Object.assign(entries[name], {
        minify: {
          removeComments: true, // 删除 html 中的注释代码

          collapseWhitespace: true, // 删除 html 中的空白符 // removeAttributeQuotes: true // 删除 html 元素中属性的引号
        },
        chunksSortMode: "manual", // 按 manual 的顺序引入
      });
    }
  });
  console.log("页面配置", entries);
  return entries;
}

module.exports = getEntry;
